home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / xmms / titlestring.h < prev    next >
C/C++ Source or Header  |  2005-12-20  |  2KB  |  87 lines

  1. /*
  2.  * Copyright (C) 2001,  Espen Skoglund <esk@ira.uka.de>
  3.  *                
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  * 
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  * 
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  17.  * 02111-1307, USA.
  18.  *                
  19.  */
  20. #ifndef XMMS_TITLESTRING_H
  21. #define XMMS_TITLESTRING_H
  22.  
  23. #include <glib.h>
  24. #include <gtk/gtk.h>
  25.  
  26.  
  27. /*
  28.  * Struct which is passed to xmms_get_titlestring().  An input struct
  29.  * is allocated and initialized with XMMS_NEW_TITLEINPUT().  Before
  30.  * passing the struct to xmms_get_titlestring() it should be filled
  31.  * with appropriate field values.
  32.  */
  33.  
  34. typedef struct
  35. {
  36.     gint    __size;        /* Set by XMMS_NEW_TITLEINPUT() */
  37.     gint    __version;    /* Ditto */
  38.  
  39.     gchar    *performer;    /* %p */
  40.     gchar    *album_name;    /* %a */
  41.     gchar    *track_name;    /* %t */
  42.     gint     track_number;    /* %n */
  43.     gint     year;        /* %y */
  44.     gchar    *date;        /* %d */
  45.     gchar    *genre;        /* %g */
  46.     gchar    *comment;    /* %c */
  47.     gchar    *file_name;    /* %f */
  48.     gchar    *file_ext;    /* %e */
  49.     gchar    *file_path;    /* %F */
  50. }
  51. TitleInput;
  52.  
  53.  
  54.  
  55.  
  56. /*
  57.  * Using a __size field helps the library functions detect plugins
  58.  * that use a possibly extended version of the struct.  The __version
  59.  * field helps the library detect possible future incompatibilities in
  60.  * the struct layout.
  61.  */
  62.  
  63. #define XMMS_TITLEINPUT_SIZE    sizeof(TitleInput)
  64. #define XMMS_TITLEINPUT_VERSION    (1)
  65.  
  66. #define XMMS_NEW_TITLEINPUT(input) G_STMT_START {    \
  67.     input = g_malloc0(sizeof(TitleInput));        \
  68.     input->__size = XMMS_TITLEINPUT_SIZE;        \
  69.     input->__version = XMMS_TITLEINPUT_VERSION;    \
  70. } G_STMT_END
  71.  
  72.  
  73.  
  74.  
  75. #ifdef __cplusplus
  76. extern "C" {
  77. #endif
  78.  
  79. gchar *xmms_get_titlestring(gchar *fmt, TitleInput *input);
  80. GtkWidget* xmms_titlestring_descriptions(char* tags, int rows);
  81.  
  82. #ifdef __cplusplus
  83. }
  84. #endif
  85.  
  86. #endif /* !XMMS_TITLESTRING_H */
  87.